1. Field of the Invention
The present invention is in the field of computing, and in particular relates to scheduling jobs and tasks for performance in computing systems, for example, in computing systems which offer infrastructure and/or software as a service.
2. Description of the Related Art
Applications, such as independent software vendor (ISV) applications, are commonly used in computing activities in a variety of computing implementations and environments. For example, high performance computing (HPC) or computer-aided engineering CAE activities may include jobs which require processing to be performed by more than one different application, possibly with some level of parallelization, and corresponding licenses are required to access or make use of these applications. Job schedulers control reservation and acquisition of computing hardware resources such as CPUs, cores, and memory, so that jobs are scheduled when the required computing hardware resources are available. Users that have submitted jobs have to always pay attention to the availability of the application licenses, because the job scheduler does not control or communicate with the license manager.
In prior art systems, when a batch job script reaches the section where ISV applications are run, the entity running the batch job script tries to acquire the necessary licenses. If they are successfully acquired, the application is executed. However, if the entity fails to acquire the licenses, the batch job script is terminated due to the lack of licenses and a job scheduler notifies a user that the submitted job was terminated. From the job scheduler's point of view, it seems that the job has been completed and terminated, but when users look at the output file, they realize that the job was exited due to the lack of license.
Submitted jobs for which the required computing hardware resources have been reserved may be terminated suddenly due to the lack of availability of application licenses. Such termination may occur after a long wait in a job queue of pending jobs to acquire the computing hardware resources, and hence overall waiting times and efficiency of the computing system in using resources to execute jobs is reduced. Users need to resubmit a job again, and the efficiency of the work is reduced.